/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package br.ita.escolaita.view;

import br.ita.escolaita.ejb.AlunoEjbBeanLocal;
import br.ita.escolaita.ejb.TurmaEjbLocal;
import br.ita.escolaita.model.entity.Aluno;
import br.ita.escolaita.model.entity.Turma;
import java.util.ArrayList;
import java.util.List;
import javax.ejb.EJB;
import javax.faces.component.UIParameter;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
import javax.faces.model.SelectItem;
import javax.servlet.http.HttpSession;

/**
 *
 * @author matheusn
 */
public class MatriculaBean {

    @EJB
    private AlunoEjbBeanLocal alunoEjb;
    @EJB
    private TurmaEjbLocal turmaEjb;
    private String nomeAluno;
    private List<Aluno> alunos;
    private Aluno aluno;
    private Turma turma;

    public String pesquisarAlunos(){
        Aluno a = new Aluno();
        a.setNome(nomeAluno);
        alunos = alunoEjb.listar(a);
        return "listarAlunos";
    }

    public String matricular(){
        aluno.setTurma(turma);
        alunoEjb.alterar(aluno);
        return "sucesso";
    }

    public String irParaMatricular(){
        
        return "irParaMatricular";
    }

    public String voltarParaObterAlunos(){
        return "voltarParaObterAlunos";
    }

    public String voltar() {
        HttpSession ses = (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(false);
        ses.removeAttribute("matriculaBean");
        return "voltar";
    }

    public void matricularListener(ActionEvent event) {
        UIParameter component = (UIParameter) event.getComponent().findComponent("matricular");
        aluno = (Aluno) component.getValue();
    }

    public List<SelectItem> getSelectItemTurmas(){
        List<Turma> turmas = getTurmas();
        List<SelectItem> itens = new ArrayList<SelectItem>();
        for (Turma t: turmas){
            SelectItem item = new SelectItem(t, t.getNome());
            itens.add(item);
        }
        return itens;
    }

    public String carregaDisciplinas(){
        
        return null;
    }

    public List<Aluno> getAlunos() {
        return alunos;
    }

    public void setAlunos(List<Aluno> alunos) {
        this.alunos = alunos;
    }

    public String getNomeAluno() {
        return nomeAluno;
    }

    public void setNomeAluno(String nomeAluno) {
        this.nomeAluno = nomeAluno;
    }

    public Aluno getAluno() {
        return aluno;
    }

    public void setAluno(Aluno aluno) {
        this.aluno = aluno;
    }

    public final List<Turma> getTurmas(){
        return turmaEjb.listarTodas();    
    }


    public Turma getTurma() {
        return turma;
    }

    public void setTurma(Turma turma) {
        this.turma = turma;
    }

    
    


    

}
